package nancal.mp.db.mongo.table

import java.io.*
import nbcp.base.db.*
import nbcp.base.comm.*
import nbcp.base.extend.*
import nbcp.base.enums.*
import nbcp.base.utils.*
import nbcp.myoql.db.*
import nbcp.myoql.db.comm.*
import nbcp.myoql.db.enums.*
import nbcp.myoql.db.mongo.*
import nbcp.myoql.db.mongo.base.*
import nbcp.myoql.db.mongo.component.*
import org.slf4j.LoggerFactory
import org.springframework.stereotype.*


/**
 * 权限页面按钮
 */
@nbcp.base.db.annotation.Cn(value = """权限页面按钮""")
@org.springframework.data.mongodb.core.mapping.Document()
@nbcp.base.db.annotation.DbEntityGroup(value = """admin""")
class AdminPermissionPageActionMeta(private val parentPropertyName: String): MongoColumnName() {
    constructor(value: MongoColumnName) : this(value.toString()) {}
    val id = mongoColumnJoin(this.parentPropertyName, "_id")
    /**
     * 按钮名称
     */
    @nbcp.base.db.annotation.Cn(value = """按钮名称""")
    val name = mongoColumnJoin(this.parentPropertyName, "name")
    /**
     * 动作定义
     */
    @nbcp.base.db.annotation.Cn(value = """动作定义""")
    val action = mongoColumnJoin(this.parentPropertyName, "action")
    /**
     * 页面
     */
    @nbcp.base.db.annotation.Cn(value = """页面""")
    val page = IdNamePathMeta(mongoColumnJoin(this.parentPropertyName, "page"))
    /**
     * 创建时间
     */
    @nbcp.base.db.annotation.Cn(value = """创建时间""")
    val createAt = mongoColumnJoin(this.parentPropertyName, "createAt")
    /**
     * 更新时间
     */
    @nbcp.base.db.annotation.Cn(value = """更新时间""")
    val updateAt = mongoColumnJoin(this.parentPropertyName, "updateAt")
    override fun toString(): String {
        return mongoColumnJoin(this.parentPropertyName).toString()
    }
}

